1. Field of the Invention
The present invention relates to a redundant system for executing an object-oriented program and a method for rescuing the object-oriented program, and particularly, the present invention relates to a speeding-up technology and a failure restoration technology of the redundant system. For example, the present invention can be applied to a VoIP-PBX (Voice over Internet Protocol-private branch exchange), namely, a server system having VoIP softswitch installed.
2. Description of Related Art
The redundant system has two or more devices having the same functions and the redundant system uses any one of these devices for a service. One device processing the service is called as an active device and the other one or more devices are called as a standby device. When a failure occurs in the active device, any one of standby devices is changed into the active state. The failure of the device that becomes not active is automatically or manually restored. The device restored from the failure is switched to a standby state to be prepared for occurrence of the failure of the active device.
The redundant system has an advantage that a service interruption time is short when the failure occurs in the device. In addition, the redundant system is expected to continue the service without notifying a user an occurrence of the failure.
In order to take over the processing from the former active device to a new active device, it is necessary to conform the data stored in the memory of the former active device to the data stored in the new active device. A technology to conform the stored data of the new and former active devices to each other is disclosed, for example, in Japanese Patent Application Laid-Open No. 2001-345850. The redundancy system of this document has an information server which performs centralized management of the stored data of the CA (Call Agent), that is each device. The new active device can obtain the stored data of the former active device by reading out the original data from the information server.
As a technology of producing computer software, an object-oriented programming is known. The object-oriented programming is a technology of producing a program by combining the objects. The object is a program unit that is configured by one or a plurality of data and one or a plurality of methods for carrying out the processing by using the data. The method is a code to call a program code group for carrying out the processing. This program code group is called to as a class. For example, the object for displaying a form, namely, a window on a computer screen normally includes the data such as a height of the form, a width of the form, and a name of the form or the like, a method for opening the form, a method for displaying the name on a title bar of the form, and a method for closing the form. The object-oriented program can use the same class for a plurality of objects. As an object-oriented program language, for example, a C++ language is known. The data and the method are stored in a storage device of the computer. When the object-oriented program is carried out, the computer reads out the necessary data and method from the storage device to construct an object on a working memory.
The redundant system of the above-described document cannot rescue the object constructed by using the object-oriented programming. Therefore, in case the technology of the document is applied to the redundant system using the object-oriented program, a new active device needs to reproduce the object.